package practice8;

import java.util.Scanner;

public class P9 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();     //�Ҿ��빫˾n��Զ
        int m=sc.nextInt();     //����m�����̵�
        int k=sc.nextInt();     //ͨ�����ٸ����̵ƿ��ٴ�ʹ�õ���(˲��)
        double v=1.0/sc.nextInt();     //��ʻ�ٶ�Ϊ1/v;

        double t=0;      //���ڼ�¼�ӳ�����ʼ��ʱ��
        int s=0;        //���ڼ�¼�ӳ�����ʼ�߹���·��
        int count=0;      //���ڼ�¼ͨ���ĺ��̵���Ŀ
        for(int i=0;i<m;i++){
            int a=sc.nextInt();     //��ҵľ���
            int b=sc.nextInt();     //�̵Ƴ���ʱ��
            int c=sc.nextInt();     //��Ƴ���ʱ��
            //�ж��Ƿ����˲�Ƶ��ú��̵ƴ�
            if(count%k!=0){
                t+=(a-s)/v;     //��������,����ϻ��ѵ�ʱ��
            }else {
                t+=0;           //�����ԣ���˲��
            }
            s=a;       //���µ�ǰ�߹���·��
            //����Ⱥ��̵Ƶ�ʱ��
            if(t%(b+c) >= b){
                //��Ʋ���ͨ��,���ϵȴ�ʱ��
                t+=c-(t%(b+c)-b);
            }else{
                //�̵ƣ�ֱ��ͨ��
                t+=0;
            }
            count++;
        }
        if(count%k==0){
            t+=0;       //˲��
        }else{
            t+=(n-s)/v;     //����ʣ�µ�·��
        }
        System.out.println((int)t);
    }
}
